477. 汉明距离总和

https://leetcode.cn/problems/total-hamming-distance/description/?orderBy=most_votes

两个整数的 汉明距离 指的是这两个数字的二进制数对应位不同的数量。
给你一个整数数组 nums，请你计算并返回 nums 中任意两个数之间 汉明距离的总和 。


10001
01111
10010

i位上为1 cnt[4]=1   cnt[3]=1 cnt[2]=1 cnt[1]=2 cnt[0]=2
i为上为0   n-cnt[i]


nums[i]


int totalHammingDistance(int* nums, int numsSize)
{
    int ans=0;
    for(int i=0;i<31;i++)
    {
        int bitone=0;
        for(int j=0;j<numsSize;j++)
        {
            bitone+=(nums[j]>>i)&1;
        }
        ans+=bitone*(numsSize-bitone);

    }
    return ans;
}